﻿/*----------------------------------------------------------------
    // Copyright (C) 2009 江苏华招网
    // 版权所有。 
    // 作者：庄金冬 
    //
    // 文件名：BLL_ManageOrg.cs
    // 文件功能描述：管理机构操作业务逻辑类,实现接口IBLL_ManageOrg,继承自类MarshalByRefObject
    // 创建标识：庄金冬2009-03-06
    //
    // 修改标识：
    // 修改描述：
    //
    // 修改标识：
    // 修改描述：
    //
    // 审核人：
    // 审核时间：
    // 审核说明：
 //----------------------------------------------------------------*/

using System;
using System.Collections.Generic;

using System.Text;
using HZ.DrugTrade.IBLL;
using HZ.DrugTrade.Model;
using HZ.DrugTrade.DAL;
using System.Data;
namespace HZ.DrugTrade.BLL
{

    [Serializable]
    /// <summary>
    /// 管理机构操作业务逻辑类,实现接口IBLL_Login,继承自类MarshalByRefObject
    /// </summary>
    public class BLL_ManageOrg : MarshalByRefObject, IBLL_ManageOrg
    {

        #region IBLL_ManageOrg 成员

        /// <summary>
        /// 获取所有管理机构
        /// </summary>
        /// <returns>所有管理机构</returns>
        public IList<ManageOrg> GetAllManageOrg()
        {
            BLL_UserSession.CheckSession();
            return DAL_ManageOrg.GetAllManageOrg();
        }

        /// <summary>
        /// 编辑管理机构
        /// </summary>
        /// <param name="manageOrg">管理机构</param>
        /// <returns>True:成功;False:失败</returns>
        public bool UpdateManageOrg(ManageOrg manageOrg)
        {
            BLL_UserSession.CheckSession();
            bool state = DAL_ManageOrg.UpdateManageOrg(manageOrg);
            if(state == true)
            {
                BLL_Log.Instance.AddKeyOperationLog(new KeyOperationLog { OperateMessage = string.Format("编辑管理机构：{0};处理时间:{1};)", manageOrg.ManageOrgID, DateTime.Now.ToString()), ClientIP = HZ.Fun2.GetClientIP() });
            }
            return state;
        }

        /// <summary>
        /// 删除管理机构
        /// </summary>
        /// <param name="manageOrg">管理机构</param>
        /// <returns>0.删除失败;1.删除成功;2.已被使用不能删除;</returns>
        public int DeleteManageOrg(ManageOrg manageOrg)
        {
            BLL_UserSession.CheckSession();
            int state = DAL_ManageOrg.DeleteManageOrg(manageOrg);
            if(state == 1)
            {
                BLL_Log.Instance.AddKeyOperationLog(new KeyOperationLog { OperateMessage = string.Format("删除管理机构：{0};处理时间:{1};)", manageOrg.ManageOrgID, DateTime.Now.ToString()), ClientIP = HZ.Fun2.GetClientIP() });
            }
            return state;
        }

        /// <summary>
        /// 添加管理机构
        /// </summary>
        /// <param name="manageOrg">管理机构</param>
        /// <returns>0.添加失败;1.添加成功;2.已经存在;</returns>
        public int AddManageOrg(ManageOrg manageOrg)
        {
            BLL_UserSession.CheckSession();
            int state = DAL_ManageOrg.AddManageOrg(manageOrg);
            if(state == 1)
            {
                BLL_Log.Instance.AddKeyOperationLog(new KeyOperationLog { OperateMessage = string.Format("添加管理机构：{0};处理时间:{1};)", manageOrg.ManageOrgID, DateTime.Now.ToString()), ClientIP = HZ.Fun2.GetClientIP() });
            }
            return state;
           
        }


        /// <summary>
        /// 获取所有未注册管理机构
        /// </summary>
        /// <returns>所有未注册管理机构</returns>
        public IList<ManageOrg> GetAllUnregManageOrg()
        {
            BLL_UserSession.CheckSession();
            return DAL_ManageOrg.GetAllUnregManageOrg();
        }

        #endregion
    }
}
